Pular para o conteúdo principal

Buscando componentes

Como buscar componentes

Existem muitas maneiras de buscar um componente, aqui você verá todas elas.


Seleção do componente através da interface.

  • Basta criar uma variável pública do seu componente e selecioná-la no painel propriedades.

Em sua classe Java, faça o seguinte:


package JAVARuntime;

public class SuaClasse extends Component {

// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
public SUIImage myComponent; // selecione nas propriedades

@Override
public void start() {

}

@Override
public void repeat() {

}

}

E então selecione o componente no painel de propriedades:


Fazendo uma busca direta do componente por script.

  • Basta criar uma variável privada do seu componente e buscá-la na função start.

Em sua classe Java, faça o seguinte:


package JAVARuntime;

public class SuaClasse extends Component {

// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
private SUIImage meuComponente;

@Override
public void start() {

// busque o componente
meuComponente = (SUIImage) WorldController.findObject("Nome do objeto ao qual o componente está anexado").findComponent("SUIImage");

}

@Override
public void repeat() {

}

}

Fazendo uma busca direta do componente no próprio objeto que o script e o componente estão anexados por script.

  • Basta criar uma variável privada do seu componente e buscá-lo na função start.

Em sua classe Java, faça o seguinte:


package JAVARuntime;

public class SuaClasse extends Component {

// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
private SUIImage meuComponente;

@Override
public void start() {

// busque o componente
meuComponente = myObject.findComponent("SUIImage");

}

@Override
public void repeat() {

}

}

Outra forma possível é usar uma variável do tipo SpatialObject.

  • Basta criar uma variável pública do tipo SpatialObject, selecionar o objeto ao qual o componente está anexado no painel propriedades e utilizar os conceitos mostrados nos exemplos anteriores.

Em sua classe Java, faça o seguinte:


package JAVARuntime;

public class SuaClasse extends Component {

// objeto ao qual o componente está anexado
public SpatialObject objeto; // selecione nas propriedades

// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
private SUIImage meuCompomente;

@Override
public void start() {

// busque o componente
meuComponente = objeto.findComponent("SUIImage");

}

@Override
public void repeat() {

}

}

Fazendo a busca automática usando uma anotação

⚠️ Só funciona se o script e o componente estiverem anexados no mesmo objeto ⚠️

  • Basta criar uma variável privada do seu componente e usar a anotação @AutoWired na variável do componente.

Em sua classe Java, faça o seguinte:


package JAVARuntime;

public class SuaClasse extends Component {

@AutoWired
private SUIImage meuComponente; // apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente

@Override
public void start() {

// @AutoWired faz exatamente isso automaticamente
meuComponente = myObject.findComponent("SUIImage");

}

@Override
public void repeat() {

}

}

Buscando componentes de física

  • É basicamente a mesma coisa que buscar um componente a partir das formas apresentadas, porém, para buscá-lo via script muda um pouco.

Em sua classe Java, faça o seguinte:


package JAVARuntime;

public class SuaClasse extends Component {

private Rigidbody meuComponente; // apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente de física

public SpatialObject objeto; // objeto ao qual o componente está anexado

@Override
public void start() {

// busque o componente de física do objeto
meuComponente = objeto.getPhysics().getPhysicsEntity();

}

@Override
public void repeat() {

}

}